/**
 * @param {number[]} nums
 * @return {number}
 */
 var jump = function(nums) {
  // 特殊情况
  // if(nums.length === 1) return 0 // 如果当前的长度是1 就返回0 不需要跳跃
  let curDistance = 0 // 当前覆盖的最远距离的下标
  let nextDistance = 0 // 下一步覆盖的最远距离的下标
  let ans = 0 // 记录走的最大的步数
  for(let i = 0;i < nums.length-1;i++){
      // 从第一个开始遍历 // 遍历到倒数第二个
      nextDistance = Math.max(nums[i]+i,nextDistance) // 更新下一步距离最远距离的下标 比较当前的下标+当前下标代表的值 和前一个的距离 中取最大的那一个
      if(i === curDistance){
          // 如果i是当前最远距离的下标 就更新 当前最远距离的下表为下一步最远距离的下标
          curDistance = nextDistance
          ans++
      }
  }
  return ans
};
jump([2,3,1,1,4])